/***********************************************************************
    filename:   DaterMainCalendarWindow.h
    created:    10/4/2012
    author:     4Ys

    purpose:    Defines class for MainCalendarWindow objects in UI
*************************************************************************/
#ifndef _DaterMainCalendarWindow_h_
#define _DaterMainCalendarWindow_h_

#include "CEGUI.h"
#include "DaterMainWindow.h"
#include <string>

class MainCalendarWindow : public MainWindow
{
	/* !
	\brief
		The Main Calendar window.
	*/
public:

		/* !
		\brief
			Construct the sample of class MainCalendarWindow.

		\param parent
			- point to parent window.
		*/
	MainCalendarWindow(CEGUI::Window* parent = 0) : MainWindow(parent){}
		
		/* !
			Destructor of class MainCalendarWindow.
		*/
	virtual ~MainCalendarWindow() {}

		/* !
		\brief
			a virtual function generated from class MainWindow to show window.
		*/
	virtual void showWindow() = 0;
	
		/* !
		\brief
			a virtual function generated from class MainWindow to hide window.
		*/
	virtual void hideWindow() = 0;
	
		/* !
		\brief
			Set to next.
		*/
	virtual bool setToNext(const CEGUI::EventArgs &args) = 0;
	
		/* !
		\brief
			Set to previous
		*/
	virtual bool setToPrevious(const CEGUI::EventArgs &args) = 0;
	
		/* !
		\brief
			a virtual function to be generated to get the head text of the calendar.
		*/
	virtual std::string getHeadText() = 0;
	
		/* !
		\brief
			a virtual function to be generated to refreash the event.
		*/
	virtual void refreshEvent() = 0;
};

#endif